package com.bw.module_home.marketer.api

import com.bw.lib_common.api.BaseApiServer
import com.bw.lib_common.entity.Res
import com.bw.module_home.marketer.model.BusinessProfileEntity
import com.bw.module_home.marketer.model.BusinessProfileEntityItem
import com.bw.module_home.marketer.model.ResidencyApplicationEditEntity
import com.bw.module_home.marketer.model.ResidencyApplicationEntity
import com.bw.module_home.marketer.model.ResidencyApplicationEntityItem
import retrofit2.http.*

interface MarketersApiService:BaseApiServer {
    @GET("/api/enterprise-profiles")
    suspend fun getBusinessProfileList(): Res<BusinessProfileEntity>
    @POST("/api/enterprise-profiles")
    suspend fun addBusinessProfile(@Body businessProfileEntityItem: BusinessProfileEntityItem): Res<BusinessProfileEntityItem>
    @DELETE("/api/enterprise-profiles/{id}")
    suspend fun deleteBusinessProfile(@Path("id") id:Int): Res<Boolean>
    @GET("/api/enterprise-profiles/{id}")
    suspend fun getBusinessProfileDetailById(@Path("id") id:Int):Res<BusinessProfileEntityItem>
    @GET("/api/merchant-applications")
    suspend fun getResidencyApplicationList():Res<ResidencyApplicationEntity>
    @POST("/api/merchant-applications")
    suspend fun addResidencyApplication(@Body residencyApplicationEditEntity: ResidencyApplicationEditEntity):Res<ResidencyApplicationEntityItem>
    @GET("/api/merchant-applications/{id}")
    suspend fun getResidencyApplicationDetailById(@Path("id") id:Int):Res<ResidencyApplicationEntityItem>
    @PATCH("/api/merchant-applications/approve/{id}")
    suspend fun approveResidencyApplication(@Path("id") id:Int):Res<ResidencyApplicationEntityItem>
    @PATCH("/api/merchant-applications/reject/{id}")
    suspend fun rejectResidencyApplication(@Path("id") id:Int):Res<ResidencyApplicationEntityItem>
}